HTMLify
Find Peak Elements.cpp
Views: 1 | Author: cody
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | class Solution { public: int findPeakElement(vector<int>& arr) { int n =arr.size(); if(n == 1) return 0; if(arr[0] > arr[1]) return 0; if(arr[n-1] > arr[n-2]) return n-1; int start = 1, end = n-2; while(start<=end){ int mid = start +(end - start) / 2; if(arr[mid] > arr[mid - 1] && arr[mid] > arr[mid+1]){ return mid; } else if(arr[mid] > arr[mid-1]){ start = mid + 1; } else { end = mid - 1; } } return -1; } }; |